[id].html.vue 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727
  1. <template>
  2. <ShopPageHead></ShopPageHead>
  3. <main class="index_main" id="all_vue">
  4. <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
  5. <ShopSubMenu></ShopSubMenu>
  6. <!-- 当前位置 -->
  7. <div class="categ_crumb_box2 clearfix_2 phone_none">
  8. <div class="categ_crumb_left">
  9. <span class="categ_crumb_left_a" title=""> 当前位置: </span>
  10. <NuxtLink
  11. :to="`/xiangcunshangcheng/index.html`"
  12. class="categ_crumb_left_a"
  13. >
  14. 乡村商城
  15. </NuxtLink>
  16. &gt;
  17. <NuxtLink
  18. :to="`/xiangcunshangcheng/${targetSegment}/index.html`"
  19. class="categ_crumb_left_a"
  20. >
  21. {{name}}
  22. </NuxtLink>
  23. &gt;
  24. <NuxtLink
  25. :to="`/xiangcunshangcheng/${targetSegment}/qiugou/list-1.html`"
  26. class="categ_crumb_left_a"
  27. >
  28. 求购
  29. </NuxtLink>
  30. &gt;
  31. <span class="categ_crumb_left_text">{{shopData.name}}</span>
  32. </div>
  33. </div>
  34. <div class="breadcrumb_box pc_none">
  35. <span class=" ">当前位置:</span>
  36. <NuxtLink
  37. :to="`/xiangcunshangcheng/index.html`"
  38. class=" "
  39. >
  40. 乡村商城
  41. </NuxtLink>
  42. <span class=" ">&gt;</span>
  43. <NuxtLink
  44. :to="`/xiangcunshangcheng/${targetSegment}/index.html`"
  45. class=" "
  46. >
  47. {{name}}
  48. </NuxtLink>
  49. <span class=" ">&gt;</span>
  50. <NuxtLink
  51. :to="`/xiangcunshangcheng/${targetSegment}/gongying/list-1.html`"
  52. class=" "
  53. >
  54. 求购
  55. </NuxtLink>
  56. <span class=" ">&gt;</span>
  57. <span class="">{{shopData.name}}</span>
  58. </div>
  59. <div class="supply_1_index_qiugou clearfix">
  60. <div class="supply_1_index_qiugou_left">
  61. <img class="supply_1_img" :src="shopImg" :alt="shopData.name">
  62. <div class="supply_1_right_qiugou">
  63. <h4 class="supply_1_h4">{{shopData.name}}</h4>
  64. <div class="supply_1_ul_qiugou clearfix">
  65. <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">发布日期</label><span
  66. class="supply_1_li_text ">{{getTimeText(shopData.created_at)}}</span></div>
  67. <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">截止日期</label><span
  68. class="supply_1_li_text ">{{getValidityTime(shopData)}}</span></div>
  69. <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">浏览次数</label><span
  70. class="supply_1_li_text ">{{ shopData.hits }}</span></div>
  71. <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">联 系 人</label><span
  72. class="supply_1_li_text ">{{ shopData.contact}}</span></div>
  73. <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">发布地区</label><span
  74. class="supply_1_li_text ">{{ shopData.address }}</span></div>
  75. <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">座 机</label><span
  76. class="supply_1_li_text ">{{ shopData.landline }}</span></div>
  77. <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">联系电话</label><span
  78. class="supply_1_li_text ">{{ shopData.phone }}</span></div>
  79. </div>
  80. </div>
  81. </div>
  82. <div class="supply_1_index_qiugou_right phone_none">
  83. <div class="shop_3_right clearfix">
  84. <div class="choice_1_box clearfix">
  85. <div class="choice_1_btn_box clearfix">
  86. <div class="choice_1_btn"
  87. :class="{ choice_1_btn_only: choice_1_num == 1 }"
  88. @mouseover="choice_1_num = 1">
  89. <span class="choice_1_btn_a">供应商品</span>
  90. </div>
  91. <div class="choice_1_btn"
  92. :class="{ choice_1_btn_only: choice_1_num == 2 }"
  93. @mouseover="choice_1_num = 2">
  94. <span class="choice_1_btn_a">求购商品</span>
  95. </div>
  96. </div>
  97. <div class="choice_1_card_box">
  98. <div class="shop_ul_img_2 choice_1_card clearfix" v-show="choice_1_num == 1">
  99. <div class="shop_li_img_2" v-for="(item,index) in boxData1">
  100. <nuxtLink
  101. :to="getShopPathDetail1(item)"
  102. class="shop_li_img_2_a"
  103. >
  104. <div class="shop_li_img_2_num"> {{ index + 1 }} </div>
  105. <div class="shop_li_img_2_right clearfix">
  106. <img class="shop_li_img_2_img" :src="item.imgurl" :alt="item.name">
  107. <div class="shop_li_img_2_text">
  108. {{item.name}}
  109. </div>
  110. </div>
  111. </nuxtLink>
  112. </div>
  113. </div>
  114. <div class="shop_ul_img_2 choice_1_card clearfix" v-show="choice_1_num == 2">
  115. <div class="shop_li_img_2" v-for="(item,index) in boxData2">
  116. <nuxtLink
  117. :to="getShopPathDetail1(item)"
  118. class="shop_li_img_2_a"
  119. >
  120. <div class="shop_li_img_2_num"> {{ index + 1 }} </div>
  121. <div class="shop_li_img_2_right clearfix">
  122. <img class="shop_li_img_2_img" :src="item.imgurl" :alt="item.name">
  123. <div class="shop_li_img_2_text">
  124. {{item.name}}
  125. </div>
  126. </div>
  127. </nuxtLink>
  128. </div>
  129. </div>
  130. </div>
  131. </div>
  132. </div>
  133. </div>
  134. </div>
  135. <div class="phone_roll_out" v-if="false">
  136. <div class="phone_roll_box">
  137. <div class="phone_roll_head">供应商品 </div>
  138. <div class="phone_roll_ul">
  139. <el-carousel :interval="933993" height="28vw" indicator-position="outside" @change="change_fun">
  140. <el-carousel-item>
  141. <div class="phone_roll_li" v-for="(item,index) in boxData1.slice(0, 2)">
  142. <nuxtLink
  143. :to="getShopPathDetail1(item)"
  144. class="phone_roll_li_a"
  145. >
  146. <img class="phone_roll_li_img" :src="item.imgurl" title="" alt="">
  147. <div class="phone_roll_ul_li_dot1">
  148. {{ item.name }}
  149. </div>
  150. </nuxtLink>
  151. </div>
  152. </el-carousel-item>
  153. <el-carousel-item>
  154. <div class="phone_roll_li" v-for="(item,index) in boxData1.slice(2, 4)">
  155. <nuxtLink
  156. :to="getShopPathDetail1(item)"
  157. class="phone_roll_li_a"
  158. >
  159. <img class="phone_roll_li_img" :src="item.imgurl" title="" alt="">
  160. <div class="phone_roll_ul_li_dot1">
  161. {{ item.name }}
  162. </div>
  163. </nuxtLink>
  164. </div>
  165. </el-carousel-item>
  166. <el-carousel-item>
  167. <div class="phone_roll_li" v-for="(item,index) in boxData1.slice(4,6)">
  168. <nuxtLink
  169. :to="getShopPathDetail1(item)"
  170. class="phone_roll_li_a"
  171. >
  172. <img class="phone_roll_li_img" :src="item.imgurl" title="" alt="">
  173. <div class="phone_roll_ul_li_dot1">
  174. {{ item.name }}
  175. </div>
  176. </nuxtLink>
  177. </div>
  178. </el-carousel-item>
  179. </el-carousel>
  180. </div>
  181. </div>
  182. <div class="phone_roll_box">
  183. <div class="phone_roll_head">求购商品 </div>
  184. <div class="phone_roll_ul">
  185. <el-carousel :interval="933993" height="28vw" indicator-position="outside" @change="change_fun">
  186. <el-carousel-item>
  187. <div class="phone_roll_li" v-for="(item,index) in boxData2.slice(0, 2)">
  188. <nuxtLink
  189. :to="getShopPathDetail1(item)"
  190. class="phone_roll_li_a"
  191. >
  192. <img class="phone_roll_li_img" :src="item.imgurl" title="" alt="">
  193. <div class="phone_roll_ul_li_dot1">
  194. {{ item.name }}
  195. </div>
  196. </nuxtLink>
  197. </div>
  198. </el-carousel-item>
  199. <el-carousel-item>
  200. <div class="phone_roll_li" v-for="(item,index) in boxData2.slice(2, 4)">
  201. <nuxtLink
  202. :to="getShopPathDetail1(item)"
  203. class="phone_roll_li_a"
  204. >
  205. <img class="phone_roll_li_img" :src="item.imgurl" title="" alt="">
  206. <div class="phone_roll_ul_li_dot1">
  207. {{ item.name }}
  208. </div>
  209. </nuxtLink>
  210. </div>
  211. </el-carousel-item>
  212. <el-carousel-item>
  213. <div class="phone_roll_li" v-for="(item,index) in boxData2.slice(4,6)">
  214. <nuxtLink
  215. :to="getShopPathDetail1(item)"
  216. class="phone_roll_li_a"
  217. >
  218. <img class="phone_roll_li_img" :src="item.imgurl" title="" alt="">
  219. <div class="phone_roll_ul_li_dot1">
  220. {{ item.name }}
  221. </div>
  222. </nuxtLink>
  223. </div>
  224. </el-carousel-item>
  225. </el-carousel>
  226. </div>
  227. </div>
  228. </div>
  229. <div class="supply_2_index clearfix phone_none">
  230. <div class="supply_head_box clearfix_2">
  231. <a class="supply_head_a" title="" :class="{ supply_head_a_only: 1 == supply_choice_1_num }"
  232. @mouseover="supply_choice_1_num = 1">详情信息</a>
  233. <a class="supply_head_a" title="" :class="{ supply_head_a_only: 2 == supply_choice_1_num }"
  234. @mouseover="supply_choice_1_num = 2">发布人信息</a>
  235. </div>
  236. <div class="supply_art_out clearfix">
  237. <!-- 详情信息 -->
  238. <div class="supply_art_box" v-show="supply_choice_1_num == 1" v-html="shopData.detail"></div>
  239. <!-- 发布人信息 -->
  240. <div class="supply_art_box" v-show="supply_choice_1_num == 2">
  241. <p class="supply_art_box_p">公司名称:</p>
  242. <p class="supply_art_box_p">电子邮箱:{{shopData.email}}</p>
  243. <p class="supply_art_box_p">邮政编码:{{shopData.postal}}</p>
  244. <p class="supply_art_box_p">联系地址:{{shopData.address}}</p>
  245. </div>
  246. </div>
  247. </div>
  248. <!-- 手机选项卡 btn phone -->
  249. <div class="phone_box_1_head pc_none">
  250. <a class="" :class="{ a_choice_only: 1 == supply_choice_1_num }"
  251. @mouseover="supply_choice_1_num = 1">详情信息</a>
  252. <a class="" title="" :class="{ a_choice_only: 2 == supply_choice_1_num }"
  253. @mouseover="supply_choice_1_num = 2">发布人信息</a>
  254. </div>
  255. <div class="pc_none">
  256. <!-- 详情信息 phone -->
  257. <div class="phone_box_1 pc_none" v-show="supply_choice_1_num == 1">
  258. <div class="phone_box_1_text" v-html="shopData.detail"></div>
  259. </div>
  260. <!-- 联系方式 phone -->
  261. <div class="phone_box_2 pc_none" v-show="supply_choice_1_num == 2">
  262. <div class="phone_box_2_text">
  263. <div class="phone_box_2_li"><label class="phone_box_2_li_label">公司名称:</label> <span class="phone_box_2_li_text">{{ shopData.com }}</span></div>
  264. <div class="phone_box_2_li"><label class="phone_box_2_li_label">电子邮箱:</label> <span class="phone_box_2_li_text">{{ shopData.email }}</span></div>
  265. <div class="phone_box_2_li"><label class="phone_box_2_li_label">邮政编码:</label> <span class="phone_box_2_li_text">{{ shopData.postal }}</span></div>
  266. <div class="phone_box_2_li"><label class="phone_box_2_li_label">详细地址:</label> <span class="phone_box_2_li_text">{{ shopData.address }}</span></div>
  267. </div>
  268. </div>
  269. </div>
  270. <ShopHotNews></ShopHotNews>
  271. </main>
  272. <HomeFoot></HomeFoot>
  273. </template>
  274. <script setup>
  275. //1.页面必备方法 start ---------------------------------------->
  276. import { ref, onMounted } from 'vue'
  277. import { ElRadio, ElRadioGroup } from 'element-plus'
  278. //1.2选项卡
  279. const supply_choice_1_num = ref(1)
  280. //1.3是否展示有效期
  281. const getValidityTime = (shopData) => {
  282. if(shopData.islong==1){
  283. return "无期限"
  284. }else{
  285. if(shopData.validity){
  286. return shopData.validity.split(' ')[0];
  287. }
  288. }
  289. }
  290. //1.4 格式化字符串时间
  291. const getTimeText = (time) => {
  292. if(time){
  293. return time.split(' ')[0];
  294. }else{
  295. return '';
  296. }
  297. }
  298. // 1.4应商品与求购商品的选项卡
  299. const choice_1_num = ref(1)
  300. //1.页面必备方法 end ---------------------------------------->
  301. //2.页面路径 start ---------------------------------------->
  302. //2.1 获得页面数据id
  303. const route = useRoute();
  304. const router = useRouter()
  305. let articleId = 0; //把路径转换为数据id
  306. const name = ref('') //当前频道名称
  307. const targetSegment = getRoutePath(2);//返回第二层的路径id
  308. const targetRoute = getRoutePath(1);//返回第一层的路径id
  309. const towgetRoute = targetRoute + "/" + targetSegment;
  310. //通过导航路径反向查询导航id
  311. const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
  312. method: 'GET',
  313. query: {
  314. 'pinyin': towgetRoute,
  315. },
  316. });
  317. if(getRouteId.code == 200){
  318. articleId = getRouteId.data.category_id;
  319. name.value = getRouteId.data.alias;
  320. }else{
  321. console.log("错误位置:获得页面路径")
  322. }
  323. //2.3 获得子栏目列表
  324. const secondNav = ref([]);
  325. const selectedSecondId = ref(route.query.catid);//当前选中了哪个子导航
  326. let getSecondNav = async () => {
  327. const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
  328. method: 'GET',
  329. query: {
  330. 'placeid': 1,
  331. 'pid': articleId,
  332. 'num': 50,
  333. },
  334. });
  335. if (listData.code == 200) {
  336. secondNav.value = listData.data
  337. } else {
  338. console.log("错误位置:获得子级栏目列表")
  339. }
  340. }
  341. getSecondNav();
  342. //2.4 获得cityid
  343. const cityId = ref(route.query.cityid)
  344. //2.页面路径 end ---------------------------------------->
  345. //3.获得商品详情 start ---------------------------------------->
  346. const shopId = ref(route.params.id) //获得商品的id
  347. const shopData = ref({});
  348. const shopImg = ref("")
  349. let getShopData = async () => {
  350. const shopReq = await requestDataPromise('/web/getWebsiteshopInfo', {
  351. method: 'GET',
  352. query: {
  353. 'id': parseFloat(shopId.value),
  354. },
  355. });
  356. if (shopReq.code == 200) {
  357. console.log(667788)
  358. console.log(shopReq)
  359. shopData.value = shopReq.data
  360. shopImg.value = shopReq.data.imgurl[0]
  361. } else {
  362. console.log("错误位置:获得商品详情")
  363. }
  364. }
  365. getShopData();
  366. //获得右侧供应与求购的内容
  367. const boxData1 = ref([]) //供应商品
  368. const boxData2 = ref([]) //求购商品
  369. //创建请求数据json
  370. let getJson = [
  371. {"level":"5,0,6"},//供应商品
  372. {"level":"6,0,6"},//求购商品
  373. ]
  374. let jsonString = JSON.stringify(getJson)
  375. //获取所有数据
  376. async function getPageAllData() {
  377. const mkdata = await requestDataPromise('/web/getWebsiteshop', {
  378. method: 'GET',
  379. query: {
  380. 'catid': 346,
  381. 'id': jsonString,
  382. },
  383. });
  384. if (mkdata.code == 200) {
  385. //供应商品
  386. boxData1.value = mkdata.data.goods[0];
  387. //求购商品
  388. boxData2.value = mkdata.data.goods[1];
  389. } else {
  390. ElMessage.error(mkdata.message)
  391. }
  392. }
  393. getPageAllData();
  394. //3.获得商品详情 end ---------------------------------------->
  395. //5.广告 start ---------------------------------------->
  396. //获得所有广告
  397. let adImg1 = ref({})
  398. onMounted(async () => {
  399. const { $webUrl, $CwebUrl } = useNuxtApp();
  400. //从客户端启动广告
  401. //广告1
  402. let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_shopdetail_0001`
  403. const responseAd1 = await fetch(url, {
  404. headers: {
  405. 'Content-Type': 'application/json',
  406. 'Userurl': $CwebUrl,
  407. 'Origin': $CwebUrl
  408. }
  409. });
  410. const resultAd1 = await responseAd1.json();
  411. adImg1.value = resultAd1.data[0];
  412. })
  413. //5.广告 end ---------------------------------------->
  414. //6.设置seo信息 start---------------------------------------->
  415. //6.1 设置seo信息
  416. const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
  417. method: 'GET',
  418. query: {
  419. 'catid': articleId
  420. },
  421. });
  422. if (setData.code == 200) {
  423. let seoTitle = shopData.value.name;
  424. let seoDescription = setData.data.seo_description;
  425. let seoKeywords = setData.data.seo_keywords;
  426. let seoSuffix = setData.data.suffix;
  427. let seoName = setData.data.website_name;
  428. useSeoMeta({
  429. title: seoTitle + "_" + seoName + "_" + seoSuffix,
  430. meta: [
  431. { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
  432. { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
  433. { name: 'viewport', content:"width=device-width,initial-scale=1,user-scalable=no"}
  434. ]
  435. });
  436. } else {
  437. // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  438. // console.log("错误位置:设置列表页面SEO数据")
  439. // console.log("后端错误反馈:", setData.message)
  440. // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
  441. }
  442. //6.设置seo信息 end---------------------------------------->
  443. </script>
  444. <style lang="less" scoped>
  445. @import '@/assets/css/shop/detail.less';
  446. </style>
  447. <style lang="less" scoped>
  448. @media screen and (min-width:801px){/*pc*/
  449. .pc_none{display:none;}
  450. }
  451. @media screen and (max-width:800px){/*ipad_phone*/
  452. .index_main{width:100%;margin-bottom:0px;}
  453. .breadcrumb_box{
  454. height:22px;width:100%;margin:10px auto;
  455. word-break: keep-all; white-space: nowrap;overflow:hidden;text-overflow:ellipsis;
  456. width:92%;
  457. font-size:14px;
  458. color:#666;
  459. *{
  460. font-size:14px;
  461. display:inline ;
  462. color:#666;
  463. line-height:22px;height:22px;
  464. margin-right:5px;
  465. }
  466. }
  467. .supply_1_index{width:92%;margin:0px auto 0px;}
  468. .supply_1_img{width:auto;max-width:100%;height:302px;margin:0px auto 0px;float:none;display:block;border-radius:8px;}
  469. .supply_1_right{width:92%;margin:0px auto 0px;float:none;}
  470. .supply_1_h4{font-size:16px;line-height:26px;}
  471. .supply_1_title{font-size:14px;}
  472. .supply_1_li_qiugou .supply_1_li_label{line-height:18px;height:18px;font-size:14px;
  473. min-width:auto;margin-right:8px;}
  474. .supply_1_li_qiugou .supply_1_li_text{line-height:18px;height:18px;font-size:14px;flex:1;
  475. word-break: keep-all; white-space: nowrap;overflow:hidden;text-overflow:ellipsis;
  476. }
  477. .supply_1_li_qiugou{ width:50%; box-sizing:border-box;float:left; }
  478. // .supply_1_li_qiugou:nth-of-type(1),.supply_1_li_qiugou:nth-of-type(1){margin-top:20px; }
  479. .supply_1_li_qiugou:nth-of-type(5){width:100%;}
  480. .supply_1_li_qiugou:nth-of-type(5) .supply_1_li_text{height:auto;
  481. word-wrap: break-word;
  482. overflow-wrap: break-word;
  483. white-space: pre-wrap;
  484. word-break: break-all;
  485. }
  486. .supply_1_index_qiugou{display:block;width:100%;}
  487. .supply_1_index_qiugou_left{float:none;width:92%;margin:0px auto 0px;border:0px;padding-top:0px;}
  488. .supply_1_right_qiugou{float:none;width:100%;margin:12px auto 15px;}
  489. .supply_1_ul_qiugou{margin-top:0px;}
  490. .phone_box_1_head{
  491. width:92%;margin:0px auto 0px;
  492. height:50px;line-height:50px;
  493. background:#fff;border-bottom:1px solid #E6E6E6;
  494. a{
  495. float:left;height:50px;line-height:50px;margin:0;position:relative;
  496. color:#333;font-size:15px; font-weight:bold;box-sizing:border-box;
  497. position:relative;padding-left:30px;
  498. }
  499. a.a_choice_only{
  500. color:#a91b33;
  501. }
  502. a:nth-child(1)::before{
  503. content: '';display: block;
  504. position:absolute;left:0px;top:18px;
  505. background:#a91b33;
  506. width:3px;height:14px;
  507. }
  508. a:nth-child(1){
  509. padding-left:8px;
  510. }
  511. }
  512. .phone_box_1{
  513. width:92%;margin:0px auto 0px;
  514. .phone_box_1_text{ font-size:16px!important;line-height:26px!important;margin-top:15px!important; }
  515. .phone_box_1_text *{ font-size:16px!important;line-height:26px!important;margin-top:15px!important; }
  516. }
  517. .phone_box_2{
  518. width:92%;margin:0px auto 0px;
  519. .phone_box_2_text{
  520. margin-top:15px;
  521. p{
  522. display:block;font-size:16px;line-height:26px;margin-top:5px;
  523. }
  524. }
  525. .phone_box_2_li{
  526. display:flex;margin-bottom:10px;
  527. }
  528. .phone_box_2_li_label{
  529. line-height:24px;height:24px;font-size:16px;
  530. margin-right:8px;
  531. }
  532. .phone_box_2_li_text{
  533. line-height:24px;font-size:16px;flex:1;
  534. word-wrap: break-word;
  535. overflow-wrap: break-word;
  536. white-space: pre-wrap;
  537. word-break: break-all;
  538. }
  539. }
  540. .phone_roll_out{
  541. overflow:hidden;
  542. width:92%;margin:0px auto 0px;
  543. .phone_roll_box{width:49%;box-sizing:border-box;border:solid 4px #A01C0E;border-radius:4px;
  544. background:#A01C0E;}
  545. .phone_roll_box:nth-of-type(odd){float:left;}
  546. .phone_roll_box:nth-of-type(even){float:right;}
  547. .phone_roll_head{height:33px;line-height:33px;color:#fff;font-size:16px;
  548. font-style:italic;text-indent:11px;}
  549. .phone_roll_ul{overflow:hidden;background:#fff7ed;border-radius:4px;}
  550. .phone_roll_li{width:44%;box-sizing:border-box; }
  551. .phone_roll_li:nth-of-type(odd){float:left;margin-left:3%;}
  552. .phone_roll_li:nth-of-type(even){float:right;margin-right:3%;}
  553. .phone_roll_li_a{display:block;width:100%;height:100%;}
  554. .phone_roll_li_img{display:block;width:100%;height:20vw;margin-top:2vw;}
  555. .phone_roll_ul_li_dot1{height:5vw;line-height:5vw;color:#A01C0E;font-size:3vw;text-align:center;
  556. margin:1vw 0;
  557. word-break: keep-all; white-space: nowrap;overflow:hidden;text-overflow:ellipsis;
  558. }
  559. /deep/.el-carousel__arrow--left{display:none;}
  560. /deep/.el-carousel__arrow--right{display:none;}
  561. /deep/.el-carousel__indicators--outside button{width:3vw;height:3vw;border-radius:50%;background:#e98008;margin:0px 1vw;}
  562. /deep/.el-carousel__indicator.is-active button{background:#ffc62e;}
  563. }
  564. .phone_none{display:none;}
  565. }
  566. </style>